<?php
class registeragreementuser extends CI_Controller
{
	function __construct()
	{
		parent::__construct();
		$this->load->library('form_validation');
		$this->load->helper(array('url','form','security'));
		$this->load->helper('date');	
	}
	//skapar en företagskund
	function index()
	{	
	
	$admin = $this->session->userdata('admin');
		
		if($admin == TRUE)
		{
			
			
			$this->form_validation->set_rules('username', 'Username', 'required|min_length[5]|max_length[12]');
			$this->form_validation->set_rules('password', 'Password', 'required|matches[passconf]');
			$this->form_validation->set_rules('passconf', 'Password Confirmation', 'required');
			$this->form_validation->set_rules('Fnamn', 'Förnamn', 'required');
			$this->form_validation->set_rules('Enamn', 'Efternamn', 'required');
			$this->form_validation->set_rules('Pnummer', 'Personnummer', 'required|min_length[10]|max_length[10]');
			$this->form_validation->set_rules('Adress', 'Adress', 'required');
			$this->form_validation->set_rules('TelNummer', 'Telefonnummer', 'required');
			$this->form_validation->set_rules('Email', 'Email', 'required|valid_email');
			$this->form_validation->set_rules('organisationname', 'organisationname', 'required|min_length[1]|max_length[25]');
			
				
			if ($this->form_validation->run() == FALSE)
			{
				//Kod som körs när det inte finns något att validera.
				//Laddar alla prisklasser så amn kan välja en till avtalskund.
				$this->load->model('Admin_model');
				$priceClassInfo=$this->Admin_model->getAllPriceClasses();
				
				$data['priceClass']=$priceClassInfo;
				$data['title']='Registrera dig';
				$data['message']='';
				$data['message2']='';
				
			
				$this->load->view('global/view_master_header',$data);
				$this->load->view('admin/view_register_agreementuser');
				$this->load->view('global/view_master_footer');
			}
			else
			{
				//kod som körs om det finns något att validera.
				/*Sparar data i variabler som sedan skickas till model klassens metod för att skapa en ny annvändare*/
				$username=$this->input->post('username');
				$password=$this->input->post('password');
				$firstName=$this->input->post('Fnamn');
				$lastName=$this->input->post('Enamn');
				$personNumber=$this->input->post('Pnummer');
				$adress=$this->input->post('Adress');
				$telNumber=$this->input->post('TelNummer');
				$email=$this->input->post('Email');
				$organisationName=$this->input->post('organisationname');
				$priceClass=$this->input->post('priceClass');
				$confirmCode = random_string('alnum', 8);
				
				
				$this->load->model('user_model');
				$this->load->model('admin_model');
				
				//Kollar om användarnamn och email är lediga.
				$nameAvaliable = $this->user_model->CheckUsername($username);
				$emailNotAvaliable = $this->user_model->CheckIfEmailExists($email);
				
				if ($nameAvaliable == TRUE)
				
				{
					if($emailNotAvaliable == FALSE)
					{
	
						$registerData=$this->admin_model->RegisterAgreementUser($username,$password,$firstName,$lastName,$personNumber,$adress,$telNumber,$email, $organisationName,$priceClass ,$confirmCode);
				
						if (! $registerData)
						{
							//The regisration dident work code
						
								$data['title']='Fel';
								$data['message'] = 'Något gick fel med registreringen, försök igen.';
							
								$this->load->view('global/view_master_header',$data);
								$this->load->view('admin/view_register_result' ,$data);
								$this->load->view('global/view_master_footer');
					
						}
						else
						{
						
						/*	//Code for the confirmation email
								$emailConfig=array('newline'=>'\r\n','mailtype'=>'html');
								$emailData=array('registerLink'=>$confirmCode);
							
								$this->load->library('email');
								$this->email->initialize($emailConfig);
								$this->email->from('Studentbilar.se', 'Studentbilar.se');
								$this->email->to($email);
								$this->email->subject('Besök den här länken: LÄNK för att bekräfta din mail och aktivera ditt konto på Studentbilar.se' );
								$this->email->message($this->load->view('email/view_email_register',$emailData,TRUE));
								$this->email->send();
								
								*/
								
														//Registation success
								$data['title']='Registrerad';
								$data['message'] = 'Lyckad registrering! Var vänlig bekräfta din Email med hjälp av ett mail som har skickats till dig.';
								
								$this->load->view('global/view_master_header',$data);
								$this->load->view('view_register_result' ,$data);
								$this->load->view('global/view_master_footer');
								
							
						}
					}
					
					else
					{
						
						$data['title'] = "Emailen är upptagen";
						$data['message'] = "";
						$data['message2'] = "Det finns redan ett konto med den emailen";
					
			
			
						$this->load->view('global/view_master_header',$data);
						$this->load->view('view_register_content', $data);
						$this->load->view('global/view_master_footer');
						
					}
			}
			
			
				else
				{
			
				$data['title'] = "Namnet är upptaget";
				$data['message'] = "Namnet är upptaget";
				$data['message2'] = '';
			
				$this->load->view('global/view_master_header',$data);
				$this->load->view('view_register_content.php', $data);
				$this->load->view('global/view_master_footer');					
				}
			}
		}
	}
	
}

?>